/****************************************************************************************************************************
 * Copyright © dimon.chen 2024-2034 All right reserved. GPL2.0 License 
 * 文件名   :   led.s
 * 作者     :   dimon.chen
 * 版本     :   V1.0
 * 描述     :   正点原子I.MX6U ALPHA/Mini 开发板Linuxa之ARM裸机开发
 *              裸机实验1 汇编点灯
 *              使用汇编语言来点亮开发板的LED灯，学习和掌握如何使用汇编
 *              完成对 I.MX6U 处理器的 GPIO 初始化
 * 其它     :   无
 * 日期     :   2024-04-29 15:52 
 * 历史     ：  出版本V1.0 2024/04/26 dimon.chen 创建
 *              正点原子[二期]Linux之ARM裸机开发，第8.1 讲使用汇编语言准备C语言运行环境，并使用C语言实现LED灯点灯程序
 ****************************************************************************************************************************/


 .global _start

 _start:
    /* 进入SVC模式 */
    mrs r0, cpsr            @读取cpsr到r0
    bic r0, r0, #0x1f       @清零r0的低5位，也就是cpsr的M0~M4
    orr r0, r0, #013        @r0或上0x13，表示svc模式
    msr cpsr, r0            @设置cpsr为svc模式

    /* 设置栈指针 */
    ldr sp, =0x80200000    @设置栈指针
    b main                  @跳转到main函数

